package com.chengliang.bbs.mapper;

import com.chengliang.bbs.common.MyBaseMapper;
import com.chengliang.bbs.entry.UserAuths;
import com.chengliang.bbs.type.UserIdentityType;
import org.apache.ibatis.annotations.Param;

/**
 * @author chengliang
 */
public interface UserAuthsMapper extends MyBaseMapper<UserAuths> {

    /**
     * 查询用户账号是否绑定
     * @param userId
     * @param identityType
     * @return
     */
    Integer selectIsIdentityTypeBind(Integer userId, UserIdentityType identityType);

    /**
     * 根据用户ID修改密码
     *
     * @param userId     用户ID
     * @param newPasswod 新密码
     * @return
     */
    boolean updatePasswordByUserId(@Param("userId") Integer userId, @Param("newPasswod") String newPasswod);

    /**
     * 根据账号信息修改认证状态
     *
     * @param userIdentifier 账号
     * @param ifverified     认证状态
     * @return
     */
    boolean updateIfverifiedByIdentifier(@Param("userIdentifier") String userIdentifier, @Param("ifverified") Integer ifverified);

    /**
     * 根据账号获取用户信息
     *
     * @param userIdentifier
     * @return
     */
    UserAuths selectUserByUserIdentifier(String userIdentifier);

    /**
     * 根据用户ID修改授权密码
     *
     * @param userId   用户ID
     * @param password 密码
     * @return
     */
    boolean updateUserCredentialByUserId(@Param("userId") Integer userId, @Param("password") String password);
}
